package com.bestcem.xm.ticket.service;

import com.bestcem.xm.common.core.domain.web.ServiceResult;
import com.bestcem.xm.ticket.controller.param.PageParam;
import com.bestcem.xm.ticket.controller.v2.vo.FilterInfoVO;
import com.bestcem.xm.ticket.controller.vo.IdAndTitleVO;
import com.bestcem.xm.ticket.controller.vo.SimpleSurveyVO;
import com.bestcem.xm.ticket.service.dto.PageDTO;

/**
 * 工单中所有的下拉框数据获取
 *
 * @author zq.ding <zq.ding@idiaoyan.com>
 * @author XiaoYunSong <ys.xiao@idiaoyan.com> 2021-12-17 工单对接企业微信, 新增搜索支持
 * @version WechatWork
 * @date 2021/8/24 13:23
 */
public interface FilterService {

    /**
     * 分页获取工单规则筛选条件选项
     *
     * @param orgId     公司id
     * @param pageParam 分页参数
     * @return com.bestcem.xm.util.ServiceResult<com.bestcem.xm.ticket.service.dto.PageDTO>
     * @author zq.ding <zq.ding@idiaoyan.com>
     * @date 2021/9/1 18:16
     */
    ServiceResult<PageDTO<IdAndTitleVO>> ruleFilter(String orgId, PageParam pageParam);

    /**
     * 分页获取工单规则筛选条件选项, 支持搜索
     *
     * @param orgId     公司id
     * @param pageParam 分页参数
     * @param search    搜索关键词
     * @return 分页/搜索 结果
     * @author XiaoYunSong <ys.xiao@idiaoyan.com>
     * @date 2021/12/17 14:42
     */
    ServiceResult<PageDTO<FilterInfoVO>> ruleFilter(String orgId, PageParam pageParam, String search);

    /**
     * 分页获取问卷项目筛选条件选项
     *
     * @param orgId     公司id
     * @param pageParam 分页参数
     * @return com.bestcem.xm.util.ServiceResult<com.bestcem.xm.ticket.service.dto.PageDTO>
     * @author zq.ding <zq.ding@idiaoyan.com>
     * @date 2021/9/1 18:17
     */
    ServiceResult<PageDTO<SimpleSurveyVO>> surveyFilter(String orgId, PageParam pageParam);


    /**
     * 分页获取问卷项目筛选条件选项, 支持搜索
     *
     * @param orgId     公司id
     * @param pageParam 分页参数
     * @param search    搜索关键词
     * @return 分页/搜索 结果
     * @author XiaoYunSong <ys.xiao@idiaoyan.com>
     * @date 2021/12/17 14:41
     */
    ServiceResult<PageDTO<FilterInfoVO>> qdesFilter(String orgId, PageParam pageParam, String search);
}
